#include <54func.h>
void *routine(void *arg)
{
    while(1){
        sleep(1);
    }
}
int main()
{
    //创建非常多的子线程，因为每次创建一个子进程都会在栈创建栈区创建新数据结构

    int cnt = 0;
    while(1)
    {

        pthread_t tid;//将用来获取子线程tid
        int ret = pthread_create(&tid,NULL,routine,NULL);
        THREAD_ERROR_CHECK(ret,"pthread_create"); 
        
        // 在栈区未满的时候，是可以创建新线程的，但是当栈区满，则创建线程是会报错，因此执行一下报错：
        // 每多一个线程，就会多一个栈区
        if(ret != 0){     // pthread_create的返回值是整数，并且非零表示报错原因！！
            printf("cnt = %d\n",cnt);
            break;
        }
        ++cnt;
    }
    return 0;

}
